// 409. 最长回文串:给定一个包含大写字母和小写字母的字符串，
//    找到通过这些字母构造成的最长的回文串。

var longestPalindrome = function (s) {
    let len = s.length;
    let ch = new Map();
    for (let i = 0; i < len; i++) {
        if (ch.has(s[i])) {
            ch.set(s[i], ch.get(s[i]) + 1);
        } else {
            ch.set(s[i], 1);
        }
    }
    let res = 0;
    for (let j = 0; j < ch.length; j++) {
        if (ch[j] % 2 == 1) {
            res += ch[j] - 1;
        } else {
            res += ch[j];
        }
    }
    return res < len ? res + 1 : res;
};